package com.jinmdz.fmis.api.api.model.funeral.negotiation;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.constant.EDictCode;
import com.jinmdz.fmis.dao.base.BaseItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 洽谈冷藏信息
 *
 * @author LiCongLu
 * @date 2020-02-16 15:21
 */
@ApiModel(value = "洽谈冷藏信息", description = "洽谈冷藏信息")
public class NegotiationColdStorageItem extends BaseItem {
    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 1)
    private String businessCode;

    /**
     * 冷藏类型编码
     */
    @ApiModelProperty(value = "冷藏类型编码", name = "equipmentTypeCode", position = 2)
    @JsonIgnore
    private Integer equipmentTypeCode;

    /**
     * 冷藏类型编码
     */
    @ApiModelProperty(value = "冷藏类型编码", name = "equipmentType", position = 3)
    @AnDict(dict = EDictCode.EQUIPMENT_TYPE, ref = "equipmentTypeCode")
    private String equipmentType;

    /**
     * 冷藏设备编号
     */
    @ApiModelProperty(value = "冷藏设备编号", name = "equipmentCode", position = 4)
    private String equipmentCode;

    /**
     * 预约入藏时间
     */
    @ApiModelProperty(value = "预约入藏时间", name = "appointmentInTime", position = 5)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentInTime;

    /**
     * 预约出藏时间
     */
    @ApiModelProperty(value = "预约出藏时间", name = "appointmentOutTime", position = 6)
    @JsonFormat(pattern = yyyy_MM_dd_HH_mm)
    private Date appointmentOutTime;

    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态", name = "processStateCode", position = 7)
    private Integer processStateCode;

    /**
     * 流程状态
     */
    @ApiModelProperty(value = "流程状态", name = "processState", position = 8)
    @AnDict(dict = EDictCode.REFRIGERATED_STATE, ref = "processStateCode")
    private String processState;

    /**
     * 业务费用与物品服务
     */
    @ApiModelProperty(value = "业务费用与物品服务", name = "charges", position = 9)
    private NegotiationBusinessCharges charges;

    public String getBusinessCode() {
        return businessCode;
    }

    public NegotiationColdStorageItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public Integer getEquipmentTypeCode() {
        return equipmentTypeCode;
    }

    public NegotiationColdStorageItem setEquipmentTypeCode(Integer equipmentTypeCode) {
        this.equipmentTypeCode = equipmentTypeCode;
        return this;
    }

    public String getEquipmentType() {
        return equipmentType;
    }

    public NegotiationColdStorageItem setEquipmentType(String equipmentType) {
        this.equipmentType = equipmentType;
        return this;
    }

    public String getEquipmentCode() {
        return equipmentCode;
    }

    public NegotiationColdStorageItem setEquipmentCode(String equipmentCode) {
        this.equipmentCode = equipmentCode;
        return this;
    }

    public Date getAppointmentInTime() {
        return appointmentInTime;
    }

    public NegotiationColdStorageItem setAppointmentInTime(Date appointmentInTime) {
        this.appointmentInTime = appointmentInTime;
        return this;
    }

    public Date getAppointmentOutTime() {
        return appointmentOutTime;
    }

    public NegotiationColdStorageItem setAppointmentOutTime(Date appointmentOutTime) {
        this.appointmentOutTime = appointmentOutTime;
        return this;
    }

    public Integer getProcessStateCode() {
        return processStateCode;
    }

    public NegotiationColdStorageItem setProcessStateCode(Integer processStateCode) {
        this.processStateCode = processStateCode;
        return this;
    }

    public String getProcessState() {
        return processState;
    }

    public NegotiationColdStorageItem setProcessState(String processState) {
        this.processState = processState;
        return this;
    }

    public NegotiationBusinessCharges getCharges() {
        return charges;
    }

    public NegotiationColdStorageItem setCharges(NegotiationBusinessCharges charges) {
        this.charges = charges;
        return this;
    }
}
